package com.xydtech.ecard.user.domain;

import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;

/**
 * 电子名片用户注册对象 ecard_regist_info
 * 
 * @author Daniel
 * @date 2021-08-30
 */
@ApiModel(value = "电子名片-用户注册对象")
public class EcardApiEcardRegistInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 注册编号 */
    @ApiModelProperty(notes = "注册编号")
    private Long registId;

    /** 微信号 */
    @ApiModelProperty(notes = "微信号")
    @Excel(name = "微信号")
    private String wechatId;

    /** 微信名称 */
    @ApiModelProperty(notes = "微信名称")
    @Excel(name = "微信名称")
    @Pattern(regexp = "^[\\u4e00-\\u9fa5]{0,}$", message = "姓名不合法！")
    private String wechatName;

    /** 手机号码 */
    @ApiModelProperty(notes = "手机号码")
    @Excel(name = "手机号码")
    private String phoneno;

    /** 注册时间 */
    @ApiModelProperty(notes = "注册时间")
    @Excel(name = "注册时间")
    private String registTime;

    /** 用户身份            1-普通用户            2-联盟商户            3-协理员            4-营销经理 */
    @Excel(name = "用户身份            1-普通用户            2-联盟商户            3-协理员            4-营销经理")
    @ApiModelProperty(notes = "用户身份            1-普通用户            2-联盟商户            3-协理员            4-营销经理")
    private String roles;

    /** 头像地址 */
    @Excel(name = "头像地址")
    @ApiModelProperty(notes = "头像地址")
    private String headUrl;

    /** 员工编号            用户身份为3-协理员            4-营销经理 使用 */
    @Excel(name = "员工编号            用户身份为3-协理员            4-营销经理 使用")
    @NotEmpty(message = "员工编号不能为空！")
    @ApiModelProperty(notes = "员工编号")
    private String userCode;

    /** 证件号码 */
    @Excel(name = "证件号码")
    @ApiModelProperty(notes = "证件号码")
    private String cardNum;

    /** 部门 */
    @Excel(name = "部门")
    @ApiModelProperty(notes = "部门")
    private String deptName;

    /** 部门所在经纬度 */
    @Excel(name = "部门所在经纬度")
    @ApiModelProperty(notes = "部门所在经纬度")
    private String coordinate;

    /** 擅长领域 */
    @Excel(name = "擅长领域")
    @ApiModelProperty(notes = "擅长领域")
    private String adeptPrdType;

    /** 距离 */
    @Excel(name = "距离")
    @ApiModelProperty(notes = "距离")
    private String distance;

    /** 岗位名称 */
    @Excel(name = "岗位名称")
    @ApiModelProperty(notes = "岗位名称")
    private String postName;

    /** 名片访问量 */
    @Excel(name = "名片访问量")
    @ApiModelProperty(notes = "名片访问量")
    private String accessCount;

    /**
     * 客户经理管户区域
     */
    @ApiModelProperty(notes = "客户经理管户区域")
    private String gridNameList;

    /**
     * 微信编码
     */
    @ApiModelProperty(notes = "微信编码")
    private String code;

    public void setRegistId(Long registId) 
    {
        this.registId = registId;
    }

    public Long getRegistId() 
    {
        return registId;
    }
    public void setWechatId(String wechatId) 
    {
        this.wechatId = wechatId;
    }

    public String getWechatId() 
    {
        return wechatId;
    }
    public void setWechatName(String wechatName) 
    {
        this.wechatName = wechatName;
    }

    public String getWechatName() 
    {
        return wechatName;
    }
    public void setPhoneno(String phoneno) 
    {
        this.phoneno = phoneno;
    }

    public String getPhoneno() 
    {
        return phoneno;
    }
    public void setRegistTime(String registTime) 
    {
        this.registTime = registTime;
    }

    public String getRegistTime() 
    {
        return registTime;
    }
    public void setRoles(String roles) 
    {
        this.roles = roles;
    }

    public String getRoles() 
    {
        return roles;
    }
    public void setHeadUrl(String headUrl) 
    {
        this.headUrl = headUrl;
    }

    public String getHeadUrl() 
    {
        return headUrl;
    }
    public void setUserCode(String userCode) 
    {
        this.userCode = userCode;
    }

    public String getUserCode() 
    {
        return userCode;
    }
    public void setCardNum(String cardNum) 
    {
        this.cardNum = cardNum;
    }

    public String getCardNum() 
    {
        return cardNum;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getCoordinate() {
        return coordinate;
    }

    public void setCoordinate(String coordinate) {
        this.coordinate = coordinate;
    }

    public String getAdeptPrdType() {
        return adeptPrdType;
    }

    public void setAdeptPrdType(String adeptPrdType) {
        this.adeptPrdType = adeptPrdType;
    }

    public String getDistance() {
        return distance;
    }

    public void setDistance(String distance) {
        this.distance = distance;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public String getAccessCount() {
        return accessCount;
    }

    public void setAccessCount(String accessCount) {
        this.accessCount = accessCount;
    }

    public String getGridNameList() {
        return gridNameList;
    }

    public void setGridNameList(String gridNameList) {
        this.gridNameList = gridNameList;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("registId", getRegistId())
            .append("wechatId", getWechatId())
            .append("wechatName", getWechatName())
            .append("phoneno", getPhoneno())
            .append("registTime", getRegistTime())
            .append("roles", getRoles())
            .append("headUrl", getHeadUrl())
            .append("userCode", getUserCode())
            .append("cardNum", getCardNum())
            .append("deptName", getDeptName())
            .append("coordinate", getCoordinate())
            .append("adeptPrdType", getAdeptPrdType())
            .append("distance", getDistance())
            .append("postName", getPostName())
            .append("accessCount", getAccessCount())
            .append("gridNameList", getGridNameList())
            .append("code", getCode())
            .toString();
    }
}
